package com.sir.tao.carhire.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sir.tao.carhire.entity.table.ContractEntity;

import java.util.List;

/**
 * @author dyy
 * @data 2021/12/24 22:36
 * @description:
 */
public interface ContractService extends IService<ContractEntity> {

    /**
     * 新增一份合同
     *
     * @param contractEntity 合同实体
     * @return 是否成功
     */
    int add(ContractEntity contractEntity);

    /**
     * 根据id删除一份合同
     * @param contractId 合同id
     * @return 是否删除成功
     */
    int deleteContractById(String contractId);

    /**
     * 条件分页查询合同列表
     * @param contractEntity 合同实体
     * @return 分页结果
     */
    List<ContractEntity> getAll(ContractEntity contractEntity);

    /**
     * 修改一份合同
     *
     * @param contractEntity 合同实体
     * @return 是否成功
     */
    int put(ContractEntity contractEntity);

    /**
     * 合同审核
     * @param contractId 合同id
     * @return 合同审核
     */
    int examineContractById(String contractId);

    /**
     * 归还汽车
     * @param id 合同id
     * @return 是否成功
     */
    void contractSuccess(String id);

    /**
     * 通过id获取合同详情
     * @param contractId 合同id
     * @return 合同详情
     */
    ContractEntity getOne(String contractId);

    /**
     * 我的合同列表
     * @param userId 用户id
     * @return 我的合同列表
     */
    List<ContractEntity> contractMy(String userId);
}
